<!doctype html>
<html class="no-js" lang="">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="x-ua-compatible" content="ie=edge">
        <title>sup-mimi-program-server documentation</title>
        <meta name="description" content="">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <link rel="icon" type="image/x-icon" href="../images/favicon.ico">
	   <link rel="stylesheet" href="../styles/style.css">
        <link rel="stylesheet" href="../styles/dark.css">
        <link rel="stylesheet" href="../styles/postmark.css">
    </head>
    <body>
          <script>
               // Blocking script to avaoid flickering dark mode
               // Dark mode toggle button
               var useDark = window.matchMedia('(prefers-color-scheme: dark)');
               var darkModeState = useDark.matches;
               var $darkModeToggleSwitchers = document.querySelectorAll('.dark-mode-switch input');
               var $darkModeToggles = document.querySelectorAll('.dark-mode-switch');
               var darkModeStateLocal = localStorage.getItem('compodoc_darkmode-state');

               function checkToggle(check) {
                    for (var i = 0; i < $darkModeToggleSwitchers.length; i++) {
                         $darkModeToggleSwitchers[i].checked = check;
                    }
               }

               function toggleDarkMode(state) {
                    if (window.localStorage) {
                         localStorage.setItem('compodoc_darkmode-state', state);
                    }

                    checkToggle(state);

                    const hasClass = document.body.classList.contains('dark');

                    if (state) {
                         for (var i = 0; i < $darkModeToggles.length; i++) {
                              $darkModeToggles[i].classList.add('dark');
                         }
                         if (!hasClass) {
                              document.body.classList.add('dark');
                         }
                    } else {
                         for (var i = 0; i < $darkModeToggles.length; i++) {
                              $darkModeToggles[i].classList.remove('dark');
                         }
                         if (hasClass) {
                              document.body.classList.remove('dark');
                         }
                    }
               }

               useDark.addEventListener('change', function (evt) {
                    toggleDarkMode(evt.matches);
               });
               if (darkModeStateLocal) {
                    darkModeState = darkModeStateLocal === 'true';
               }
               toggleDarkMode(darkModeState);

               if ($darkModeToggles.length > 0) {
                    for (var i = 0; i < $darkModeToggleSwitchers.length; i++) {
                         $darkModeToggleSwitchers[i].addEventListener('change', function (event) {
                              darkModeState = !darkModeState;
                              toggleDarkMode(darkModeState);
                         });
                    }
               }
          </script>

        <div class="navbar navbar-default navbar-fixed-top d-block d-sm-none">
            <a href="../" class="navbar-brand">sup-mimi-program-server documentation</a>
            <button type="button" class="btn btn-default btn-menu ion-ios-menu" id="btn-menu"></button>
        </div>

        <div class="xs-menu menu" id="mobile-menu">
                <div id="book-search-input" role="search"><input type="text" placeholder="Type to search"></div>            <compodoc-menu></compodoc-menu>
        </div>

        <div class="container-fluid main">
           <div class="row main">
               <div class="hidden-xs menu">
                   <compodoc-menu mode="normal"></compodoc-menu>
               </div>
               <!-- START CONTENT -->
               <div class="content module">
                   <div class="content-data">



<ol class="breadcrumb">
    <li class="breadcrumb-item">Modules</li>
    <li class="breadcrumb-item" >AppModule</li>
</ol>

<div class="text-center module-graph-container">
    <div id="module-graph-svg">
        <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.47.0 (20210316.0004)
 -->
<!-- Title: dependencies Pages: 1 -->
<svg width="898pt" height="211pt"
 viewBox="0.00 0.00 898.00 211.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 207)">
<title>dependencies</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-207 894,-207 894,4 -4,4"/>
<text text-anchor="start" x="424.01" y="-42.4" font-family="Times-12" font-weight="bold" font-size="14.00">Legend</text>
<polygon fill="#ffffb3" stroke="transparent" points="211,-10 211,-30 231,-30 231,-10 211,-10"/>
<text text-anchor="start" x="234.63" y="-15.4" font-family="Times-12" font-size="14.00"> &#160;Declarations</text>
<polygon fill="#8dd3c7" stroke="transparent" points="324,-10 324,-30 344,-30 344,-10 324,-10"/>
<text text-anchor="start" x="347.73" y="-15.4" font-family="Times-12" font-size="14.00"> &#160;Module</text>
<polygon fill="#80b1d3" stroke="transparent" points="410,-10 410,-30 430,-30 430,-10 410,-10"/>
<text text-anchor="start" x="433.78" y="-15.4" font-family="Times-12" font-size="14.00"> &#160;Bootstrap</text>
<polygon fill="#fdb462" stroke="transparent" points="507,-10 507,-30 527,-30 527,-10 507,-10"/>
<text text-anchor="start" x="530.67" y="-15.4" font-family="Times-12" font-size="14.00"> &#160;Providers</text>
<polygon fill="#fb8072" stroke="transparent" points="603,-10 603,-30 623,-30 623,-10 603,-10"/>
<text text-anchor="start" x="626.73" y="-15.4" font-family="Times-12" font-size="14.00"> &#160;Exports</text>
<g id="clust1" class="cluster">
<title>cluster_AppModule</title>
<polygon fill="none" stroke="black" stroke-dasharray="1,5" points="8,-70 8,-195 882,-195 882,-70 8,-70"/>
</g>
<g id="clust6" class="cluster">
<title>cluster_AppModule_providers</title>
<polygon fill="none" stroke="black" points="595,-78 595,-130 874,-130 874,-78 595,-78"/>
</g>
<g id="clust3" class="cluster">
<title>cluster_AppModule_imports</title>
<polygon fill="none" stroke="black" points="16,-78 16,-130 587,-130 587,-78 16,-78"/>
</g>
<!-- DbModule -->
<g id="node1" class="node">
<title>DbModule</title>
<polygon fill="#8dd3c7" stroke="black" points="579.16,-122 576.16,-126 555.16,-126 552.16,-122 502.84,-122 502.84,-86 579.16,-86 579.16,-122"/>
<text text-anchor="middle" x="541" y="-99.8" font-family="Times,serif" font-size="14.00">DbModule</text>
</g>
<!-- AppModule -->
<g id="node6" class="node">
<title>AppModule</title>
<polygon fill="#8dd3c7" stroke="black" points="477.66,-187 474.66,-191 453.66,-191 450.66,-187 394.34,-187 394.34,-151 477.66,-151 477.66,-187"/>
<text text-anchor="middle" x="436" y="-164.8" font-family="Times,serif" font-size="14.00">AppModule</text>
</g>
<!-- DbModule&#45;&gt;AppModule -->
<g id="edge1" class="edge">
<title>DbModule&#45;&gt;AppModule</title>
<path fill="none" stroke="black" d="M541,-122.03C541,-138.4 541,-160 541,-160 541,-160 487.8,-160 487.8,-160"/>
<polygon fill="black" stroke="black" points="487.8,-156.5 477.8,-160 487.8,-163.5 487.8,-156.5"/>
</g>
<!-- FeishuModule -->
<g id="node2" class="node">
<title>FeishuModule</title>
<polygon fill="#8dd3c7" stroke="black" points="484.38,-122 481.38,-126 460.38,-126 457.38,-122 387.62,-122 387.62,-86 484.38,-86 484.38,-122"/>
<text text-anchor="middle" x="436" y="-99.8" font-family="Times,serif" font-size="14.00">FeishuModule</text>
</g>
<!-- FeishuModule&#45;&gt;AppModule -->
<g id="edge2" class="edge">
<title>FeishuModule&#45;&gt;AppModule</title>
<path fill="none" stroke="black" d="M436,-122.11C436,-122.11 436,-140.99 436,-140.99"/>
<polygon fill="black" stroke="black" points="432.5,-140.99 436,-150.99 439.5,-140.99 432.5,-140.99"/>
</g>
<!-- PostsModule -->
<g id="node3" class="node">
<title>PostsModule</title>
<polygon fill="#8dd3c7" stroke="black" points="369.61,-122 366.61,-126 345.61,-126 342.61,-122 280.39,-122 280.39,-86 369.61,-86 369.61,-122"/>
<text text-anchor="middle" x="325" y="-99.8" font-family="Times,serif" font-size="14.00">PostsModule</text>
</g>
<!-- PostsModule&#45;&gt;AppModule -->
<g id="edge3" class="edge">
<title>PostsModule&#45;&gt;AppModule</title>
<path fill="none" stroke="black" d="M325,-122.03C325,-138.4 325,-160 325,-160 325,-160 384.04,-160 384.04,-160"/>
<polygon fill="black" stroke="black" points="384.04,-163.5 394.04,-160 384.04,-156.5 384.04,-163.5"/>
</g>
<!-- TaskKafkaModule -->
<g id="node4" class="node">
<title>TaskKafkaModule</title>
<polygon fill="#8dd3c7" stroke="black" points="262.46,-122 259.46,-126 238.46,-126 235.46,-122 141.54,-122 141.54,-86 262.46,-86 262.46,-122"/>
<text text-anchor="middle" x="202" y="-99.8" font-family="Times,serif" font-size="14.00">TaskKafkaModule</text>
</g>
<!-- TaskKafkaModule&#45;&gt;AppModule -->
<g id="edge4" class="edge">
<title>TaskKafkaModule&#45;&gt;AppModule</title>
<path fill="none" stroke="black" d="M202,-122.11C202,-141.34 202,-169 202,-169 202,-169 384.17,-169 384.17,-169"/>
<polygon fill="black" stroke="black" points="384.17,-172.5 394.17,-169 384.17,-165.5 384.17,-172.5"/>
</g>
<!-- WeappModule -->
<g id="node5" class="node">
<title>WeappModule</title>
<polygon fill="#8dd3c7" stroke="black" points="123.69,-122 120.69,-126 99.69,-126 96.69,-122 24.31,-122 24.31,-86 123.69,-86 123.69,-122"/>
<text text-anchor="middle" x="74" y="-99.8" font-family="Times,serif" font-size="14.00">WeappModule</text>
</g>
<!-- WeappModule&#45;&gt;AppModule -->
<g id="edge5" class="edge">
<title>WeappModule&#45;&gt;AppModule</title>
<path fill="none" stroke="black" d="M74,-122.29C74,-144.21 74,-178 74,-178 74,-178 384.12,-178 384.12,-178"/>
<polygon fill="black" stroke="black" points="384.12,-181.5 394.12,-178 384.12,-174.5 384.12,-181.5"/>
</g>
<!-- AppService -->
<g id="node7" class="node">
<title>AppService</title>
<ellipse fill="#fdb462" stroke="black" cx="809" cy="-104" rx="56.74" ry="18"/>
<text text-anchor="middle" x="809" y="-99.8" font-family="Times,serif" font-size="14.00">AppService</text>
</g>
<!-- AppService&#45;&gt;AppModule -->
<g id="edge6" class="edge">
<title>AppService&#45;&gt;AppModule</title>
<path fill="none" stroke="black" d="M809,-122.29C809,-144.21 809,-178 809,-178 809,-178 487.7,-178 487.7,-178"/>
<polygon fill="black" stroke="black" points="487.7,-174.5 477.7,-178 487.7,-181.5 487.7,-174.5"/>
</g>
<!-- FeishuService -->
<g id="node8" class="node">
<title>FeishuService</title>
<ellipse fill="#fdb462" stroke="black" cx="669" cy="-104" rx="65.99" ry="18"/>
<text text-anchor="middle" x="669" y="-99.8" font-family="Times,serif" font-size="14.00">FeishuService</text>
</g>
<!-- FeishuService&#45;&gt;AppModule -->
<g id="edge7" class="edge">
<title>FeishuService&#45;&gt;AppModule</title>
<path fill="none" stroke="black" d="M669,-122.11C669,-141.34 669,-169 669,-169 669,-169 487.92,-169 487.92,-169"/>
<polygon fill="black" stroke="black" points="487.92,-165.5 477.92,-169 487.92,-172.5 487.92,-165.5"/>
</g>
</g>
</svg>

    </div>
    <i id="fullscreen" class="icon ion-ios-resize module-graph-fullscreen-btn" aria-hidden="true"></i>
    <div class="btn-group size-buttons">
        <button id="zoom-in" class="btn btn-default btn-sm">Zoom in</button>
        <button id="reset" class="btn btn-default btn-sm">Reset</button>
        <button id="zoom-out" class="btn btn-default btn-sm">Zoom out</button>
    </div>
</div>
<script src="../js/libs/svg-pan-zoom.min.js"></script>
<script src="../js/svg-pan-zoom.controls.js"></script>

<ul class="nav nav-tabs" role="tablist">
    <li class="nav-item">
        <a href="#info" 
            class="nav-link"
            class="nav-link active"
            role="tab" id="info-tab" data-bs-toggle="tab" data-link="info">Info</a>
    </li>
    <li class="nav-item">
        <a href="#source" 
            class="nav-link"
            
            role="tab" id="source-tab" data-bs-toggle="tab" data-link="source">Source</a>
    </li>
</ul>

<div class="tab-content">
    <div class="tab-pane fade active in" id="info">

        <p class="comment">
            <h3>File</h3>
        </p>
        <p class="comment">
            <code>src/app.module.ts</code>
        </p>





        <div class="container-fluid module">
            <div class="row">
                <div class="col-sm-3">
                    <h3>Providers<a href="https://angular.io/api/core/NgModule#providers" target="_blank" rel="noopener noreferrer"
                            title="Official documentation about module providers"><span class="icon ion-ios-information-circle-outline"></a></h3>
                    <ul class="list-group">
                        <li class="list-group-item">
                            <a href="../injectables/AppService.html">AppService</a>
                        </li>
                        <li class="list-group-item">
                            <a href="../injectables/FeishuService.html">FeishuService</a>
                        </li>
                    </ul>
                </div>
                <div class="col-sm-3">
                    <h3>Controllers<a href="https://docs.nestjs.com/controllers" target="_blank" rel="noopener noreferrer"
                            title="Official documentation about module controllers"><span
                                class="icon ion-ios-information-circle-outline"></a></h3>
                    <ul class="list-group">
                        <li class="list-group-item">
                            <a href="../controllers/AppController.html">AppController</a>
                        </li>
                    </ul>
                </div>
                <div class="col-sm-3">
                    <h3>Imports<a href="https://angular.io/api/core/NgModule#imports" target="_blank" rel="noopener noreferrer"
                            title="Official documentation about module imports"><span
                                class="icon ion-ios-information-circle-outline"></a></h3>
                    <ul class="list-group">
                        <li class="list-group-item">
                            <a href="../modules/DbModule.html">DbModule</a>
                        </li>
                        <li class="list-group-item">
                            <a href="../modules/FeishuModule.html">FeishuModule</a>
                        </li>
                        <li class="list-group-item">
                            <a href="../modules/PostsModule.html">PostsModule</a>
                        </li>
                        <li class="list-group-item">
                            <a href="../modules/TaskKafkaModule.html">TaskKafkaModule</a>
                        </li>
                        <li class="list-group-item">
                            <a href="../modules/WeappModule.html">WeappModule</a>
                        </li>
                    </ul>
                </div>
            </div>
        </div>


    </div>


    <div class="tab-pane fade  tab-source-code" id="source">
        <pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">/*
 * @Date: 2023-12-11 16:32:30
 * @LastEditors: lyx
 * @LastEditTime: 2024-01-03 18:20:20
 * @FilePath: \mt-middleware-server\src\app.module.ts
 * @Description:
 */
import { Global, Module } from &#x27;@nestjs/common&#x27;;
import { AppController } from &#x27;./app.controller&#x27;;
import { AppService } from &#x27;./app.service&#x27;;
import { PostsModule } from &#x27;./posts/posts.module&#x27;;
import { DbModule } from &#x27;@libs/db&#x27;;
import { WeappModule } from &#x27;./weapp/weapp.module&#x27;;
import { ConfigModule } from &#x27;@nestjs/config&#x27;;
import config from &#x27;config/config&#x27;;
import { HttpModule } from &#x27;@nestjs/axios&#x27;;
import { FeishuModule } from &#x27;./feishu/feishu.module&#x27;;
import { TaskKafkaModule } from &#x27;./task-kafka/task-kafka.module&#x27;;
import { WsStartGateway } from &#x27;./gateway/ws.gateway&#x27;;
import { FeishuService } from &#x27;./feishu/feishu.service&#x27;;

@Global()
@Module({
  imports: [
    HttpModule.register({
      timeout: 5000,
      maxRedirects: 5,
    }),
    ConfigModule.forRoot({
      isGlobal: true,
      load: [config],
    }),
    DbModule,
    PostsModule,
    WeappModule,
    FeishuModule,
    TaskKafkaModule,
  ],
  controllers: [AppController],
  providers: [AppService, FeishuService, WsStartGateway],
  exports: [HttpModule],
})
export class AppModule {}
</code></pre>
    </div>
</div>

















                   </div><div class="search-results">
    <div class="has-results">
        <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
        <ul class="search-results-list"></ul>
    </div>
    <div class="no-results">
        <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
    </div>
</div>
</div>
               <!-- END CONTENT -->
           </div>
       </div>

          <label class="dark-mode-switch">
               <input type="checkbox">
               <span class="slider">
                    <svg class="slider-icon" viewBox="0 0 24 24" fill="none" height="20" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" width="20" xmlns="http://www.w3.org/2000/svg">
                    <path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"></path>
                    </svg>
               </span>
          </label>

       <script>
            var COMPODOC_CURRENT_PAGE_DEPTH = 1;
            var COMPODOC_CURRENT_PAGE_CONTEXT = 'module';
            var COMPODOC_CURRENT_PAGE_URL = 'AppModule.html';
            var MAX_SEARCH_RESULTS = 15;
       </script>

       <script src="../js/libs/custom-elements.min.js"></script>
       <script src="../js/libs/lit-html.js"></script>

       <script src="../js/menu-wc.js" defer></script>
       <script nomodule src="../js/menu-wc_es5.js" defer></script>

       <script src="../js/libs/bootstrap-native.js"></script>

       <script src="../js/libs/es6-shim.min.js"></script>
       <script src="../js/libs/EventDispatcher.js"></script>
       <script src="../js/libs/promise.min.js"></script>
       <script src="../js/libs/zepto.min.js"></script>

       <script src="../js/compodoc.js"></script>

       <script src="../js/tabs.js"></script>
       <script src="../js/menu.js"></script>
       <script src="../js/libs/clipboard.min.js"></script>
       <script src="../js/libs/prism.js"></script>
       <script src="../js/sourceCode.js"></script>
          <script src="../js/search/search.js"></script>
          <script src="../js/search/lunr.min.js"></script>
          <script src="../js/search/search-lunr.js"></script>
          <script src="../js/search/search_index.js"></script>
       <script src="../js/lazy-load-graphs.js"></script>


    </body>
</html>
